// 创建节点，将Vnode创建为DOM，插入到pivot这个元素前
// 对函数进行改造，只用来创建节点，不要上树，删除pivot参数

export default function createElement(vnode) {
    // 创建一个DOM节点，
    let domNode = document.createElement(vnode.sel);
    // 判断是否有子节点,依据text属性和children属性是否是undefined还是空数组
    if (vnode.text !== '' && (vnode.children === undefined || vnode.children.length === 0)) {
        // 没有子节点
        // 内部是文字
        domNode.innerText = vnode.text

        // 将此节点上树
        // 让标杆节点的父元素调用insertBefore方法，将新的孤儿节点插入到标杆节点之前
        // pivot.parent.insertBefore(domNode, pivot)
    } else if (Array.isArray(vnode.children) && vnode.children.length > 0) {
        // 遍历子节点
        for (let i = 0, length = vnode.children.length; i < length; i++) {
            // 获取子节点
            let ch = vnode.children[i]
            // 递归插入
            domNode.appendChild(createElement(ch))

        }
    }
    // 将vnode的elm设置为当前节点
    vnode.elm = domNode
    // 返回vnode.elm;elm属性是一个纯DOM对象
    return domNode
}